package logica;

import java.io.Serializable;

import javax.persistence.*;


/**
 * The persistent class for the LOCALIDAD database table.
 * 
 */
@Entity
@Table(name="LOCALIDAD")
@NamedQuery(name="Localidad.findAll", query="SELECT l FROM Localidad l")
public class Localidad implements Serializable {
	private static final long serialVersionUID = 1L;
	private int idLocalidad;
	private String descripcion;
	private Provincia provincia;

	public Localidad() {
	}


	@Id
	@SequenceGenerator(name="LOCALIDAD_IDLOCALIDAD_GENERATOR", sequenceName="SECUENCIA")
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="LOCALIDAD_IDLOCALIDAD_GENERATOR")
	@Column(name="ID_LOCALIDAD", unique=true, nullable=false, precision=38)
	public int getIdLocalidad() {
		return this.idLocalidad;
	}

	public void setIdLocalidad(int idLocalidad) {
		this.idLocalidad = idLocalidad;
	}


	@Column(nullable=false, length=50)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}


	//bi-directional many-to-one association to Provincia
	@ManyToOne
	@JoinColumn(name="ID_PROVINCIA", nullable=false)
	public Provincia getProvincia() {
		return this.provincia;
	}

	public void setProvincia(Provincia provincia) {
		this.provincia = provincia;
	}
	public String toString (){
		return descripcion;
		
	}


	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((descripcion == null) ? 0 : descripcion.hashCode());
		result = prime * result + idLocalidad;
		result = prime * result
				+ ((provincia == null) ? 0 : provincia.hashCode());
		return result;
	}


	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Localidad other = (Localidad) obj;
		if (descripcion == null) {
			if (other.descripcion != null)
				return false;
		} else if (!descripcion.equals(other.descripcion))
			return false;
		if (idLocalidad != other.idLocalidad)
			return false;
		if (provincia == null) {
			if (other.provincia != null)
				return false;
		} else if (!provincia.equals(other.provincia))
			return false;
		return true;
	}

}